package com.cn.string;

/**
 * 字符串常用方法
 * 1. boolean equals(String otherString)
 * 描述：比较两个字符串的内容是否完全相同（区分大小写）。
 * 参数：otherString：要与当前字符串比较的另一个字符串。
 * 返回值
 * true：如果两个字符串内容相同。
 * false：如果两个字符串内容不同。
 *
 * 2. boolean equalsIgnoreCase(String otherString)
 * 描述：比较两个字符串的内容是否相同（忽略大小写）。
 * 参数
 * otherString：要与当前字符串比较的另一个字符串。
 * 返回值
 * true：如果两个字符串内容相同（忽略大小写）。
 * false：如果两个字符串内容不同。
 *
 * 3. int length()
 * 描述：获取字符串的长度（字符数）。
 *
 * 4. indexOf
 * 定义:
 * 4.1 查找字符首次出现的位置：
 * int indexOf(int ch):
 * 4.2 查找字符首次出现的位置，从指定索引开始：
 * int indexOf(int ch, int fromIndex)
 * 4.3 查找子字符串首次出现的位置：
 * int indexOf(String str)
 * 4.4查找子字符串首次出现的位置，从指定索引开始：
 * int indexOf(String str, int fromIndex)
 *
 * 描述
 * 返回指定字符或子字符串在字符串中第一次出现的索引。
 * 索引从 0 开始。
 * 如果未找到，返回 -1。
 *
 * 参数
 * 	•	ch：要查找的字符。
 * 	•	str：要查找的子字符串。
 * 	•	fromIndex：开始查找的位置（可选）。
 *
 * 返回值
 * 	•	匹配项的索引。
 * 	•	-1：如果未找到匹配项。
 *
 * 5. lastIndexOf
 *
 * 5.1 查找字符最后一次出现的位置：
 * int lastIndexOf(int ch)
 * 5.2 查找字符最后一次出现的位置，从指定索引开始向前查找：
 * int lastIndexOf(int ch, int fromIndex)
 * 5.3 查找子字符串最后一次出现的位置：
 * int lastIndexOf(String str)
 * 5.4 查找子字符串最后一次出现的位置，从指定索引开始向前查找：
 * int lastIndexOf(String str, int fromIndex)
 *
 * 描述
 * 返回指定字符或子字符串在字符串中最后一次出现的索引。
 * 如果未找到，返回 -1。
 *
 * 参数
 * ch：要查找的字符。
 * str：要查找的子字符串。
 * fromIndex：开始查找的位置（可选）。
 *
 * 返回值
 * 匹配项的索引。
 * -1：如果未找到匹配项。
 *
 *
 * 6. substring
 *
 * 6.1 从指定位置到字符串末尾：
 * String substring(int beginIndex)
 *
 * 6.2 从指定起始索引到结束索引（不包括结束索引）：
 * String substring(int beginIndex, int endIndex)
 *
 * 描述
 * 返回字符串的子字符串。
 *
 * 参数
 * beginIndex：子字符串的起始位置（包含）。
 * endIndex：子字符串的结束位置（不包含，可选）。
 *
 * 返回值
 * 从指定位置截取的子字符串。
 *
 * 7. trim
 * 定义：String trim()
 * 描述:去掉字符串前后多余的空格。
 * 返回值:去掉前后空格后的字符串。
 *
 * 8. charAt
 * 定义 char charAt(int index)
 * 描述 返回字符串中指定索引位置的字符。
 * 参数 index：字符的索引位置（从 0 开始）。
 * 返回值 指定位置的字符。
 * 注意：如果索引超出范围，会抛出 StringIndexOutOfBoundsException。
 *
 */
public class String_04_Methods1 {
    public static void main(String[] args) {
        //1.equals
        String str1 = "Hello";
        String str2 = "hello";
        boolean result1 = str1.equals(str2); // false，因为区分大小写
        System.out.println(result1);


        //2.equalsIgnoreCase
        String str3 = "Hello";
        String str4 = "hello";
        boolean result2 = str3.equalsIgnoreCase(str4); // true
        System.out.println(result2);

        //3.length
        String str = "Hello";
        int len = str.length(); // 5
        System.out.println(len);


        //4. index
        String str5 = "Hello, World!";
        int index1 = str5.indexOf('o'); // 4
        int index2 = str5.indexOf("World"); // 7
        int index3 = str5.indexOf('o', 5); // 8，从索引 5 开始查找
        System.out.println(index1); // 4
        System.out.println(index2); // 7
        System.out.println(index3); // 8


        //5.lastIndexOf
        String str6 = "Hello, World!";
        int index_1 = str6.lastIndexOf('o'); // 8
        int index_2 = str6.lastIndexOf("World"); // 7
        int index_3 = str6.lastIndexOf('o', 5); // 4，从索引 5 向前查找
        System.out.println(index_1); // 8
        System.out.println(index_2); // 7
        System.out.println(index_3); // 4

        //6.substring
        String str7 = "Hello, World!";
        // 6.1 从指定位置到字符串末尾：
        // String substring(int beginIndex)
        String sub1 = str7.substring(7);// "World!"
        String sub2 = str7.substring(7,12); // "World"
        System.out.println(sub1);
        System.out.println(sub2);// "World"

        //7.trim
        String str8 = "   Hello, World   ";
        String trimmed = str.trim();// "Hello, World!"
        System.out.println(trimmed);

        //8.charAt
        String str9 = "Hello";
        char ch = str9.charAt(1); // 'e'
        System.out.println(ch);









    }
}
